package com.t.bricks.bussiness.db.mapper.simpleuser;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.t.bricks.bussiness.db.entity.simpleuser.SimpleUser;

@Mapper
public interface SimpleUserMapper {

	/**
	 * 添加
	 * @param simpleUser
	 * @return
	 */
	int add(SimpleUser simpleUser);
	
	/**
	 * 删除
	 * @param iId
	 * @return
	 */
	int del(Integer iId);
	
	/**
	 * 修改
	 * @param simpleUser
	 * @return
	 */
	int edit(SimpleUser simpleUser);
	
	/**
	 * 根据关键值取对象
	 * @param simpleUser 存放查询条件的SimpleUser对象
	 * @return
	 */
	SimpleUser findByKey(SimpleUser simpleUser);
	
	/**
	 * 修改密码
	 * @param iId
	 * @param sOldPass
	 * @param sNewPass
	 * @return
	 */
	int editPass(
		@Param("iId")Integer iId,
		@Param("sOldPass")String sOldPass,
		@Param("sNewPass")String sNewPass
	);
	
	/**
	 * 根据编号查询数据
	 * @param iId
	 * @return
	 */
	SimpleUser findById(@Param("iId") Integer iId);
	
	/**
	 * 根据名字查询数据
	 * @param sName
	 * @return
	 */
	SimpleUser findByName(@Param("sName") String sName);
	
	/**
	 * 查询分页信息
	 * @param sName
	 * @param orders
	 * @param startRow
	 * @param pageSize
	 * @return
	 */
	List<SimpleUser> findByPage(
		@Param("sName") String sName,
		@Param("orders") String orders,
		@Param("startRow") int startRow,
		@Param("pageSize") int pageSize
	);
	
	/**
	 * 查询分页总数
	 * @param sName
	 * @return
	 */
	int findByPageCount(@Param("sName") String sName);
	
	/**
	 * 根据关键值查询数量
	 * @param simpleUser
	 * @return
	 */
	int findCountByKey(SimpleUser simpleUser);
	
	/**
	 * 检查待修改内容是否存在重复数据
	 * @param simpleUserData
	 * @return 重复返回true
	 */
	int checkRepeatByEdit(SimpleUser simpleUserData);
	
	/**
	 * 检查待新增内容是否存在重复数据
	 * @param simpleUserData
	 * @return 重复返回true
	 */
	int checkRepeatByAdd(SimpleUser simpleUserData);

}
